<?php
	class X
	{
		var $x;
		var $a = array ("x", "x", "x", "b");
		function x () { }
		function y () { return new X; }
	}

	function b ()
	{
		return new X ();
	}

	$y = "x";
	$z = "y";
	$x = new X ();
	$x->x = new X ();

	$x->x;
	$x->$y;
	$x->x();
	$x->$y();

	$x->$$z;

	$x->x->x;
	$x->$y->$y;
	$x->y()->x();
	$x->$z()->$y();

	$x->a[3];
	$x->a[3](); // Precedence inversion 
	$x->a[3]()->a[3]; // Precedence inversion
	$x->a[3]()->a[3](); // Precedence inversion (twice)

	$x->{2 + 3};
//	$x->{2 + 3}(); // moved to unsupported
?>
